// const { Sequelize } = require("sequelize/types")

// const { Model } = require("sequelize/types")

class API {
    //创建数据方法
    createData(modelName, o) {
        return Model[modelName].create(o)
    };
    //查询数据方法
    findData(modelName, condition, attributes) {
        return Model[modelName].findAll({
            // 查询字段
            where: condition,
            attributes,
            //查询条件

        })
    };
    //原始查询的方法
    query(sql, o) {
        return sequelize.query(sql, {
            replacements: o,
            type: sequelize.QueryTypes.SELECT
        })
    };
    //更新数据库的方法
    updateData(modelName, values, condition) {
        return Model[modelName].update(values, {
            where: condition
        })
    };
    //删除数据
    removeData(modelName, condition) {
        return Model[modelName].destroy({
            where: condition,
        })
    };
    //查询数据总数量
    count(modelName, condition) {
        return Model[modelName].count({
            where: condition
        });
    }
}

module.exports = new API()

/**********************增删改查数据库简单sequelize操作 */
// 查询所有 users
// User.findAll().then(users => {
//     console.log("All users:", JSON.stringify(users, null, 4));
//   });

//   // 创建一个新 user
//   User.create({ firstName: "Jane", lastName: "Doe" }).then(jane => {
//     console.log("Jane's auto-generated ID:", jane.id);
//   });

//   // 删除每个名为 "Jane" 的记录
//   User.destroy({
//     where: {
//       firstName: "Jane"
//     }
//   }).then(() => {
//     console.log("Done");
//   });

//   // 修改每个`lastName`为`null`的记录修改为"Doe"
//   User.update({ lastName: "Doe" }, {
//     where: {
//       lastName: null
//     }
//   }).then(() => {
//     console.log("Done");
//   });
/****************************************************** */